refactor: migrate fuzzing container to ContFuzzer v2 interface#22178
Open
randyquaye wants to merge 1 commit intonextfrom
Open
refactor: migrate fuzzing container to ContFuzzer v2 interface#22178randyquaye wants to merge 1 commit intonextfrom
randyquaye wants to merge 1 commit intonextfrom
Conversation
0b25eb9 to
4e49196
Compare
97362b9 to
57cf84f
Compare
14f44de to
f7e28c5
Compare
f7e28c5 to
704e7fa
Compare
Overhaul the fuzzing container to comply with the ContFuzzer v2 platform contract. Key changes: - Entrypoint rewritten to honour FUZZ_MODE (fuzz | reproduce | coverage), FUZZ_TARGET, FUZZ_DURATION, FUZZ_WORKERS, FUZZ_MEMORY, FUZZ_CORPUS_DIR, FUZZ_CRASH_FILE, and FUZZ_OUTPUT_DIR environment variables. - Coverage mode exports LCOV and llvm-cov JSON directly (no Python shim). - Corpus merge hardened with single-thread defaults, logging, and restore. - Fuzzer manifest generated from CMake targets instead of a hardcoded list. - AVM-specific fuzzers scheduled only from the fuzzing-avm preset. - Dockerfiles updated for non-root execution (CRS moved to /opt/bb-crs, source tree world-readable, home dir traversable by UID 65534). - CI workflows use standard OCI labels and contfuzzer ORAS artifact type.
704e7fa to
04efbb8
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--fuzzer,--mode,--asm) with v2 env-var contract (FUZZ_TARGET,FUZZ_MODE,FUZZ_JOBS, etc.)/targets/<name>[_suffix]so each variant is an independent schedulable targetmerge_fuzzer_manifests_v2.pyoutputs schema v2 manifest for ORAS discoveryfuzz,coverage,minimize,reproduceFiles changed
container-builds/fuzzing-container/src/Dockerfile/targets/flattening,ENTRYPOINTcontainer-builds/fuzzing-container/src/Dockerfile.privatecontainer-builds/fuzzing-container/src/entrypoint.shcontainer-builds/fuzzing-container/run.sh--targetflag, env vars)barretenberg/cpp/scripts/merge_fuzzer_manifests_v2.pybarretenberg/cpp/scripts/merge_fuzzer_manifests.pyTest plan
cd container-builds/fuzzing-container && docker build src/ -t bb-fuzzdocker run --rm bb-fuzz ls /targets/./run.sh --target <name> --mode fuzz --timeout 60./run.sh --target <name> --mode coveragedocker run --rm bb-fuzz cat fuzzer_manifest.json | python3 -m json.tool🤖 Generated with Claude Code